COM Up! Help

2001(c) Bitwheel All Rights Reserved.

 

Glossary


ActiveX (control/component)
is technology based on COM. It was primarily intended to be used on the Internet.
ActiveX control or component can be used in a web page as well as any Win32 application. This kind of components/controls are almost always In-Process, i.e. loaded in some other process in memory and are contained in OCX files and more rarely in DLLs.

COM
Component Object Model is technology developed by Microsoft© to enable interoperability between software applications, easier reusability of software in a form of components, etc. It was used as a base for many new technologies like DCOM, COM+, ASP, etc.

COM Object
is the basic unit of COM. Sometimes is also called component and vice versa. It has to be registered in system registry to be properly used. Its functionality(code) is contained in binary file(OCX, DLL or EXE). Depending on its file, it can be In-Process or Out-Of-Process. InProcess objects are objects contained in DLLs and OCXs and these kind of objects are loaded in some other(caller's) memory process(Win32 application). Out-Of-Process are objects which exist in their own memory process. COM object's functionality and data is accessed over interfaces.

Component
is pretty overloaded term and sometimes refers to COM object. The usual difference between component and COM object is that component refers to a DLL or OCX file which is used by some other container.

Control
has the same functionality as component. The common difference one might have in its mind is that controls usually have graphical appearance(buttons, grids, graphs, etc.) while components not. Controls are based on ActiveX technology and use IDispatch kind of interfaces to access their data and functionality.

Dead COM Object
is COM object which registry entries exist but its server file doesn't. This unnecessary registry entries makes system slow and in many cases cause malfunction of applications which try to use them.

DLL
is a binary file that has to be loaded in other memory process to be used. In-Process COM Objects can be contained in a DLL.

EXE
is a binary executable file which contain Out-Of-Process COM objects. When objects from this file are to be used, EXE file starts its own memory process.

Function
is a type member accessible over IUnknown kind of interface. The main difference between method and a function is that functions are accessed over virtual-table while methods are accessed over IDispatch kind of interface.

Method
is almost the same as function but accessed in the different way. See Function.

Property
is something similar as variable but it is defined by one or more functions. For example, some property can be read and wrote when it has one function for setting its value and other function of the same for reading its value. Can be thought of as a variable on a more abstract level.

Registering
is a process of adding/setting registry subkeys and subkey values in order to put necessary information about one or more COM objects. The main root key for this is HKEY_CLASSES_ROOT.

Registry (entries)
Registry enables COM to function by providing the place where information about COM object can be stored and accessed by other applications. Every COM object has subkeys in registry providing basic information about them called entries. These subkeys are called entries because they are used as an entry point for using COM object.

OCX
file functions in the same way as DLL. The main difference between DLL and OCX is that OCX file contains ActiveX components/controls while DLL not rarely.

Server (COM Server)
refers to the same term as COM Object. In COM something is called server when it provides it functionality to some client which uses it. COM Object is usually server to some application which behaves as a client.

Server File
is another name for binary file which contains code of some COM Object(COM Server). It can be DLL, OCX or EXE.

Type Information
includes all information about types of some COM object and their members.

Type Library
is a binary data in a .TLB file or included as a resource in a server file(DLL, EXE, OCX) which provides type information. Type library must be registered in the registry along with its COM object entries to be properly used.

Type Members
are all functions, variables, methods and properties of some COM object contained in type library.

Types
are all types of some COM objects contained in its type library. There are nine kinds of types. Type contain members depending on its kind(coclasses have no members).

Unregistering
is a process opposite to registering. When unregistering some component, all COM objects that the component registered are removed from the registry. Unregistering process does not include deleting component file from the disk.